<?php
//conecta ao banco de dados
require_once("conexao.php");

$NOMECLATURA = array("0" => "Org&atilde;o", "1" => "Secretaria", "2" => "Superintend&ecirc;ncia","3" => "Departamento","4" => "Ger&ecirc;ncia","5" => "Supervis&atilde;o",
"6" => "Coordena&ccedil;&atilde;o","7" => "Grupo de Trabalho" ,"8" => "Escola", "9" => "Unidade", "10" => "Se&ccedil;&atilde;o" ,"11" => "Comando", "12" => "Reitoria", "13" => "Pr&oacute;-Reitoria", "14" => "Presid&ecirc;ncia" , "15" => "Assessoria", "16" => "Diretoria" );


function obterUnidades ()
{
	// Recupera todas as unidade
	$sql = "select unidade.*  from unidade order by nome";	   
	$rs 	= mysql_query($sql); 

	return $rs;
}

function inserirUnidade ($nome, $idPai, $sigla, $cod , $nomeclatura)
{
	$sql = "INSERT INTO unidade (fk_unidade_pai, codigo, nome, sigla, nomeclatura) VALUES ($idPai, $cod, '$nome', '$sigla', $nomeclatura)";
	$rs 	= mysql_query($sql); 
	
	return $rs;
}

function atualizaUnidade ($idUnidade, $nome, $idPai, $sigla, $cod, $nomeclatura)
{
	$sql = "UPDATE unidade set fk_unidade_pai = $idPai, codigo = $cod, nome = '$nome', sigla = '$sigla', nomeclatura = $nomeclatura
	where idUnidade = $idUnidade";
	//die ($sql);
	$rs 	= mysql_query($sql); 
	
	return $rs;
}

function obterPai ($idUnidade)
{	
	$sql = "select p.*  from unidade f, unidade p 
where f.idUnidade = $idUnidade and f.fk_unidade_pai = p.idUnidade";	   
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$dados	= mysql_fetch_array($rs);
		return $dados;
	}
	return false;
}

function obterIdUnidadePai ($idUnidade)
{	
	$sql = "select fk_unidade_pai from unidade where idUnidade = $idUnidade";	   
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$dados	= mysql_fetch_array($rs);
		return $dados['fk_unidade_pai'];
	}
	return false;
}

function obterMesmoNivel ($idUnidade)
{	
	// Recupera todas as unidade
	$sql = "select n.*  from unidade f, unidade n 
	where 
	f.idUnidade = $idUnidade and 
	n.fk_unidade_pai = f.fk_unidade_pai ";	   
	$rs 	= mysql_query($sql); 
	//die ($sql);
	//echo "<br>msm_nivel";
	return $rs;
}

function obterNivelACima ($idUnidade)
{	
	// Recupera todas as unidade
	$sql = "select n.*  from unidade f, unidade p, unidade n 
	where 
	f.idUnidade = $idUnidade and 
	p.idUnidade = f.fk_unidade_pai and
	n.fk_unidade_pai = p.fk_unidade_pai";	   
	$rs 	= mysql_query($sql); 
	//die ($sql);
	//echo "<br>nivel_acima";
	return $rs;
}

function obterFilhos ($idUnidade)
{
	if ($idUnidade == NULL || $idUnidade == 0)
    	$sql = "select * from unidade where unidade.fk_unidade_pai = 0 order by nome";	  
    else
        $sql = "select * from unidade where unidade.fk_unidade_pai = $idUnidade order by nome";	   

	$rs	= mysql_query($sql); 

	return $rs;
}

function obterUnidadesRaiz ()
{
	$sql = "select * from unidade where unidade.fk_unidade_pai = 0";	   
	$rs 	= mysql_query($sql); 
	
	return $rs;
}

function ehMsmNivel ($no1, $no2)
{
	$sql = "select * from unidade n1, unidade n2 
	where n1.idUnidade = $no1 and n2.idUnidade = $no2 and n1.fk_unidade_pai = n2.fk_unidade_pai";	   
	$rs = mysql_query($sql); 
	
	if ($rs) {
		$qt = mysql_num_rows($rs);
		if ($qt != 0)
			return true;
	}
		
	return false;
}

function excluiUnidade ($idUnidade)
{
	$sql = "delete from unidade where unidade.idUnidade = $idUnidade";	   
	$rs 	= mysql_query($sql); 
	
	return $rs;
}

//Retorna dados da unidade
function obterUnidade ($idUnidade)
{
	$sql = "select * from unidade where unidade.idUnidade = $idUnidade";
	$rs 	= mysql_query($sql); 

	return $rs;
}

//Retorna nome da unidade
function obterNomeUnidade ($idUnidade)
{
	$sql = "select unidade.nome from unidade where unidade.idUnidade = $idUnidade";
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$dados	= mysql_fetch_array($rs);
		return $dados['nome'];
	}
	return $rs;
}

//Retorna nomeclatura da unidade
function obterNomeclaturaUnidade ($idUnidade)
{
	$sql = "select unidade.nomeclatura from unidade where unidade.idUnidade = $idUnidade";
	$rs 	= mysql_query($sql); 
	global $NOMECLATURA;
	
	if ($rs) {
		
		$dados	= mysql_fetch_array($rs);
		
		return $NOMECLATURA[$dados['nomeclatura']];
	}
	return "";
}
function obterOrganograma ($orgaoSelecionado)
{	
	$unidades = obterFilhos ($orgaoSelecionado);	
	$qtFilhos = mysql_num_rows($unidades);
	
	if ($qtFilhos == 0) return 0;
	
	while ($linha = mysql_fetch_array($unidades))
	{	
		$_SESSION['arvUnidade'][] = $linha['idUnidade'];
		obterOrganograma ($linha['idUnidade']);
	}
	
	return 0;
}

function ehDecendente ($orgaoSelecionado, $decendente, $eh)
{	 
	if ($orgaoSelecionado == $decendente) return true;

	$unidades = obterFilhos ($orgaoSelecionado);	
	$qtFilhos = mysql_num_rows($unidades);
	
	if ($qtFilhos == 0) return $eh;
	
	while ($linha = mysql_fetch_array($unidades))
	{	
		if ($decendente == $linha['idUnidade'])
			return true;
		
		 $eh = ehDecendente ($linha['idUnidade'], $decendente, $eh);
	}
	
	return $eh;
}
function obterUnidadesSuperiores ($idUnidade)
{
	$estrutura;
	$idPai = 0;
	
	$rs = obterUnidade ($idUnidade);
	$dados = mysql_fetch_array($rs);
	
	if ($dados) {
		$estrutura[] = $dados['nome'];
		$idPai = $dados['fk_unidade_pai'];
	}
	
	while ($idPai != 0)
	{
		$rs = obterUnidade ($idPai);
		$dados = mysql_fetch_array($rs);
	
		if ($dados) {
			$estrutura[] = $dados['nome'];
			$idPai = $dados['fk_unidade_pai'];
		}
	}
	
	return $estrutura;
}
function obterIdUnidadesSuperiores ($idUnidade)
{
	$estrutura = NULL;
	$idPai = 0;
	
	$rs = obterUnidade ($idUnidade);
	$dados = mysql_fetch_array($rs);
	
	if ($dados) {
		$estrutura[] = $dados['idUnidade'];
		$idPai = $dados['fk_unidade_pai'];
	}
	
	while ($idPai != 0)
	{
		$rs = obterUnidade ($idPai);
		$dados = mysql_fetch_array($rs);
	
		if ($dados) {
			$estrutura[] = $dados['idUnidade'];
			$idPai = $dados['fk_unidade_pai'];
		}
	}
	
	return $estrutura;
}
function imprimiEstruturaSuperior ($idUnidade)
{
	
	$estruturaUnidades = obterUnidadesSuperiores ($idUnidade);
	$qtUnidadesSup = count ($estruturaUnidades);
	
	for ($i=($qtUnidadesSup-1); $i>=0; $i--) { 
	
		echo $estruturaUnidades[$i]; 
	
		if( $i >  0) 
			echo "/"; 
	}
}

//Verifica se tem essa unidade no msm nivel
function temUnidadeMsmNome ($nome, $unidadePai)
{
	$sql = "select * from unidade where unidade.nome = '$nome' and fk_unidade_pai = $unidadePai";
	$rs 	= mysql_query($sql);

	if ($rs ) {
		$quant = mysql_num_rows($rs);
	
		if ($quant > 0) 
			return true;
	}
		
	return false;
}
function obterOrgaoUnidade ($undidade) 
{
	$estruturaUnidade = obterIdUnidadesSuperiores ($undidade);
	
	if ($estruturaUnidade != NULL) {
		$qt = count ($estruturaUnidade);
		$orgao = $estruturaUnidade [$qt-1];
	}
	else
		$orgao = 0;
	
	return $orgao;
}

?>